1. Field of the Invention
The present invention relates generally to computer disk boot systems, and more particularly to an apparatus and method of configuring and booting disk drives in a computer system.
2. Description of the Related Art
The Basic Input/Output System (BIOS) of a computer contains the drivers, or software interfaces for hardware devices of the computer. These devices include the keyboard, the display, the printer, auxiliary devices such as the serial port, the computer's clock and the boot disk device. Part of the BIOS is built into each computer by the computer's manufacturer. This part of the BIOS is called the resident BIOS. It is also known as the Read Only Memory (ROM) BIOS because it is contained in ROM chips located on the computer system board. The ROM BIOS serves as an interface with the computer hardware; it controls the hardware devices installed in a computer. It also presents a standardized interface to application and operating system software.
The second part of the BIOS is nonresident; it is read into random access memory (RAM) from disk when the computer boots. The boot operation itself performs two functions. It runs a power-on self test (POST) of the computer and searches disk drives for an operating system. When these functions are complete, the boot operation begins the process of reading the operating system files from disk and copying them to a location in the computer's RAM. The Master Boot Record is read first, followed by the Disk Operating System (DOS) Boot Record. After loading the disk BIOS, the DOS Boot Record is no longer required and is over written in RAM by other code.
BIOS disk services are typically invoked through the use of an interrupt (INT 13h and/or 40h) and are selected by loading the service number into a dedicated register in the processor. In particular, hard drives are typically invoked through the use of INT 13h, while BIOS-controlled floppy drives are invoked through the use of INT 40h. Disk drives are identified by a zero-based number provided in another dedicated register, with the highest order bit set to 1 to indicate a hard disk. Thus, the first floppy disk drive in the computer is identified by drive number 00h and the first hard disk drive is designated by drive number 80h. The BIOS uses a set of descriptive parameter tables called disk-base tables to gain information regarding the capabilities of the disk controller hardware and the disk media. During start up, the BIOS associates an appropriate disk-based table with each hard disk drive.
There has been developed a disk process in which a hard disk drive may be installed in the order specified by the user. Each hard disk drive is configured by assigning its respective interface routine to a location on the INT 13h chain. Once the drive has been configured, it is assigned a logical drive number from 80h to 9Fh. The first drive that is installed is configured as 80h, the second as 81h, etc. The operating system subsequently recognizes drive 80h as the boot device.
Currently, once the devices have been installed in the INT 13h chain, the logical drive number cannot be altered. While this ensures that the boot process will commence from a specific drive, it poses a problem if the user determines, prior to booting, that the boot process should commence from another device. In addition, even if the user were to reconfigure the boot process to commence from another logical drive, such as logical drive 81h, the operating system would override such an instruction and would commence to boot from drive 80h.
Accordingly, there is a need in the technology for an apparatus and method for facilitating the selection of a boot device from a plurality of disk drives that are installed on a computer system.